Código fuente de 'Test.asp'

<html>
<head>
<title>Test - Códigos asp, programacion asp, descargas asp, rutinas asp</title>
</head>
<p align="center"><b><font size="4">Test</font></b></p>

<body style="font-family: Arial; font-size: 9pt">
<%Response.Expires = -1%>

<%
Dim I 'Para todos los bucles que hagamos
Dim iNumeroPregunta
Dim iRespuesta
Dim iPregunta

if Request.QueryString("reset")="si" then
	Session("Pregunta")=""
	Session("Puntos")=0
end if

'Número de preguntas del test
Const NUM_PREGUNTAS = 10
'Respuestas de cada pregunta
'1 es A, 2 es B, 3 es C, 4 es D
Const RESPUESTAS = "4, 2, 1, 4, 1, 3, 1, 1, 4, 1"

'Obtenemos el número de la próxima pregunta
if Session("Pregunta")="" then
	iPregunta=1
	Session("Puntos")=0
else
	'Recogemos la respuesta que ha dado
	RecogerRespuesta (CInt(Session("Pregunta")))
	'Pasamos a la siguiente pregunta
	iPregunta=CInt(Session("Pregunta"))+1
end if

'Ponlo la pregunta en la variable de sesión
Session("Pregunta")=iPregunta

'Si hemos terminado, mostramos los resultados
if iPregunta > NUM_PREGUNTAS then
	Terminar
else
'Si no, mostramos otra pregunta
	for I = 1 to NUM_PREGUNTAS
		'Imprimimos la "barra de progreso"
		if I = iPregunta then
		'Ponemos en rojo la pregunta actual
			Response.Write("<FONT COLOR=#FF0000>" & I & "</FONT>")
		else
		'y en texto normal las demás
			Response.Write(I)
		end if
		'Ponemos guiones entre las preguntas, excepto en la última!
		if I < NUM_PREGUNTAS then
			Response.Write(" - ")
		end if

	next
	Response.Write("<br><br>")

	ImprimirPregunta (iPregunta)
end if

'=================================================================
Sub RecogerRespuesta ( numpregunta )
Dim aRespuestas
'Recojo la respuesta que ha dado
iRespuesta = CInt(Request.QueryString("respuesta"))
'Formo un vector con la lista de respuestas
aRespuestas = Split(RESPUESTAS, ",")

'Comparo la respuesta con las soluciones
'Añado 1 porque el vector empieza en 0!
'Esta línea es para depurar
'Response.Write (iRespuesta & "/" & aRespuestas(numpregunta-1)&"<br>")
if iRespuesta = CInt(aRespuestas(numpregunta-1)) then
	'Acertó
	Response.Write("<FONT COLOR=""#0000FF"">¡Correcto!</FONT><br>")
	Session("Puntos")=CInt(Session("Puntos"))+1
else
	Response.Write("<FONT COLOR=""#FF0000"">¡Incorrecto!</FONT><br>")
end if

End Sub 'RecogerRespuesta


Sub ImprimirPregunta (iPregunta)
Dim sEnunciado
Dim sRespuestas
select case iPregunta
	case 1
		sEnunciado = "¿Qué significa ASP?"
		sRespuestas =	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. Antes Seremos Perros</A><br>"	& _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. Así Sí Puedo</A><br>"	& _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. Active Source Project</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. Active Server Pages</A><br>"
	case 2
		sEnunciado = "¿Qué significa ADO?"
		sRespuestas =	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. ASP Data Objects</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. ActiveX Data Objects</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. Active Document Open</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. Another Data OCX</A><br>" 
	case 3
		sEnunciado = "¿Con qué instrucción imprimiríamos<br>¡Hola mundo!<br>en la pantalla?"
		sRespuestas =	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. Response.Write(""¡Hola mundo!"")</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. Document.Write(""¡Hola mundo!"")</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. Document.InnerHTML = ""¡Hola mundo!""</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. WriteString(""¡Hola mundo!"")</A><br>"
	case 4
		sEnunciado = "¿Qué significa SQL?"
		sRespuestas =	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. Standard Query Language</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. Sin Querer Lohice</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. Super Query Laptop</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. Structured Query Language</A><br>"
	case 5
		sEnunciado = "¿Cuál de las siguientes <b>no</b> es una sentencia SQL válida?"
		sRespuestas =	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. SELECTION FROM Tabla WHERE IdCampo = 1</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. SELECT * FROM Tabla</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. SELECT Campo AS Nombre ORDER BY Fecha</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. SELECT Tabla.Campo, Tabla2.Campo FROM Tabla INNER JOIN Tabla2 ON Tabla.Campo = Tabla2.Campo</A><br>"
	case 6
		sEnunciado = "¿Qué objeto ADO utilizamos para conectarnos a un origen de datos?"
		sRespuestas	=	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. Command</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. Recordset</A><br> " & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. Connection</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. Field</A><br>"

	case 7
		sEnunciado = "¿Quién nos proporciona el objeto FileSystemObject?"
		sRespuestas =	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. VBScript/Javascript/JScript</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. ASP</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. IIS/PWS</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. Es un objeto COM</A><br>"
	case 8
		sEnunciado = "¿Se puede hacer lo siguiente?<br>" & _
					 "&lt;%<br>" & _
					 "Response.Write(""Redirigiendo..."")<br>" & _
					 "Response.Redirect(""pagina2.asp"")<br>" & _
					 "%&gt;"
		sRespuestas =	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. Nunca</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. Siempre</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. Sólo si hemos puesto Response.Buffer = True</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. Sólo si no hemos mandado ninguna cookie al cliente</A><br>"

	case 9
		sEnunciado = "¿Cuáles de los siguientes <b>no</b> son componentes de ASP?"
		sRespuestas	=	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. ASPEmail y ASPUpload</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. ASPEncrypt</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. SA-File Up</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. Epi & Blas</A><br>"
	case 10
		sEnunciado = "¿Qué página visitarías para saber más sobre ASP?"
		sRespuestas =	"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=1"">" & _
						"a. ASPFácil</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=2"">" & _
						"b. ASPChungo</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=3"">" & _
						"c. ASP-EsImposible</A><br>" & _
						"<A HREF=""" & Request.ServerVariables("SCRIPT_NAME") & "?respuesta=4"">" & _
						"d. Slashdot.org</A><br>"


end select

Response.Write ("<b>Pregunta: </b>" & sEnunciado & "<br>")
Response.Write sRespuestas
End Sub 'ImprimirPregunta

Sub Terminar
Response.Write("<b>Fin del examen.</b><br>")
Response.Write("Has acertado: " & Session("Puntos") &" de " & NUM_PREGUNTAS &" preguntas.")
if (Session("Puntos")) => NUM_PREGUNTAS / 2 then
	Response.Write("<br><br><b><u><i>¡Enhorabuena!</i></u></b>")
	Response.Write("<P><FONT COLOR=""blue"">Has superado la prueba.</FONT>")
else
	Response.Write("<P><FONT COLOR=""red"">Lo siento, no has superado el mínimo.</FONT>")
end if

'Mención para cerebritos :)
if Session("Puntos") = NUM_PREGUNTAS then
	Response.Write("<P>¿No te han dado aún el Premio Nobel? :-)")
elseif Session("Puntos") = 0 then
	Response.Write("<P>Supongo que lo habrás hecho aposta... ¡Qué desastre! ;-)")
end if

Response.Write("<p><a href=""" & Request.ServerVariables("SCRIPT_NAME") & """>Volver a intentarlo</A>")

Session("Puntos")=0
Session("Pregunta")=""
End Sub 'Terminar

%>
<hr>

<i>Carlos de la Orden Dijs Enero 2001 -- <A HREF="http://www.aspfacil.com">www.aspfacil.com</A></i>
</body>
</html>